package com.macro.mall.portal.wxpay.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import javax.validation.constraints.*;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
* @author lww
* @date 2020-10-26
*/
@Data
@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("wepay_log")
public class WepayLog implements Serializable {

    /** 主键 */
    @TableId
    private Integer id;


    /** 返回状态码：SUCCESS/FAIL */
    @NotBlank
    private String returnCode;


    /** 返回信息 */
    private String returnMsg;

    /** 签名校验：true/false */
    private String checkSign;


    /** 业务结果：SUCCESS/FAIL */
    private String resultCode;


    /** 错误代码 */
    private String errCode;


    /** 错误代码描述 */
    private String errCodeDes;


    /** 订单金额 */
    private String totalFee;


    /** 微信支付订单号 */
    private String transactionId;


    /** 商户订单号 */
    private String outTradeNo;


    /** 商家数据包 */
    private String attach;


    /** 支付完成时间 */
    private String timeEnd;


    /** 请求参数原文 */
    @NotBlank
    private String source;


    /** 创建时间 */
    @TableField(fill= FieldFill.INSERT)
    private LocalDateTime createTime;


    /** 更新时间 */
    @TableField(fill= FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;


}
